home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 1 / ETO Development Tools 1.iso / Essentials / Developer Essentials Jul 90 / Programming / MPW Interfaces & Libraries 3.1 / PInterfaces / PasLibIntf.p < prev    next >
Encoding:
Text File  |  1988-11-30  |  3.4 KB  |  170 lines  |  [TEXT/MPS ]

  1. {*-------------------------------------------------------------------------------*
  2.  |                                                                                 |
  3.  |                          <<< Pascal Library Interface >>>                         |
  4.  |                                                                                 |
  5.  |                        Copyright Apple Computer, Inc. 1986                      |
  6.  |                               All rights reserved.                              |
  7.  |                                                                                 |
  8.  *-------------------------------------------------------------------------------*}
  9.  
  10. {
  11.  Interface to the Pascal I/O and Memory Manager Library.
  12.  Built-in procedure and function declarations are marked with
  13.  the (* *) comment characters
  14. }
  15.  
  16. UNIT PASLIBIntf;
  17.  
  18.   INTERFACE
  19.  
  20.     TYPE
  21.       PASCALPOINTER = ^INTEGER; { Universal POINTER type }
  22.       PASCALFILE = FILE; { Universal FILE type }
  23. (*
  24.  *      PASCALBLOCK =    { Universal block of chars }
  25.  *            PACKED ARRAY [0..511] OF CHAR;
  26.  *)
  27.  
  28.     CONST
  29.       { <StdIO.h> PLSetVBuf styles }
  30.       _IOFBF = $00; { File buffering }
  31.       _IOLBF = $40; { Line buffering }
  32.       _IONBF = $04; { No buffering }
  33.  
  34. {
  35.  Mac Pascal heap management
  36. }
  37.  
  38.     PROCEDURE PLHeapInit(sizepheap: LONGINT; heapDelta: LONGINT;
  39.                          memerrProc: UNIV PASCALPOINTER; allowNonCont: BOOLEAN;
  40.                          forDispose: BOOLEAN);
  41. {
  42.  The following procedure is obsolete, use PLHeapInit
  43. }
  44.  
  45.     PROCEDURE PLInitHeap(sizepheap: LONGINT; memerrProc: UNIV PASCALPOINTER;
  46.                          allowNonCont: BOOLEAN; allowDispose: BOOLEAN);
  47.  
  48.     PROCEDURE PLSetNonCont(allowNonCont: BOOLEAN);
  49.  
  50.     PROCEDURE PLSetMErrProc(memerrProc: UNIV PASCALPOINTER);
  51.  
  52.     PROCEDURE PLSetHeapType(forDispose: BOOLEAN);
  53.  
  54.     PROCEDURE PLSetHeapCheck(DoIt: BOOLEAN);
  55.  
  56. {
  57.  File I/O
  58. }
  59.  
  60. (*
  61.  *      PROCEDURE
  62.  *        RESET(VAR fvar:  UNIV PASCALFILE; OPT fname: STRING);
  63.  *        BUILTIN;
  64.  *
  65.  *      PROCEDURE
  66.  *        REWRITE(VAR fvar: UNIV PASCALFILE; OPT fname: STRING);
  67.  *        BUILTIN;
  68.  *
  69.  *      PROCEDURE
  70.  *        OPEN(VAR fvar:    UNIV PASCALFILE; fname: STRING);
  71.  *        BUILTIN;
  72.  *)
  73.  
  74.     PROCEDURE PLSetVBuf(VAR fvar: TEXT; buffer: UNIV PASCALPOINTER;
  75.                         style: INTEGER; bufsize: INTEGER);
  76. (*
  77.  *      FUNCTION
  78.  *        BLOCKREAD(
  79.  *          VAR fvar: FILE;
  80.  *          VAR buffer: UNIV PASCALBLOCK;
  81.  *          nBlocks: INTEGER;
  82.  *          OPT stBlock:INTEGER
  83.  *        ):
  84.  *        INTEGER;
  85.  *        BUILTIN;
  86.  *
  87.  *      FUNCTION
  88.  *        BLOCKWRITE(
  89.  *          VAR fvar: FILE;
  90.  *          VAR buffer: UNIV PASCALBLOCK;
  91.  *          nBlocks: INTEGER;
  92.  *          OPT stBlock:INTEGER
  93.  *        ):
  94.  *        INTEGER;
  95.  *        BUILTIN;
  96.  *
  97.  *      FUNCTION
  98.  *        BYTEREAD(
  99.  *          VAR fvar: FILE;
  100.  *          VAR buffer: UNIV PASCALBLOCK;
  101.  *          nBytes:  LONGINT;
  102.  *          OPT stByte: LONGINT
  103.  *        ):
  104.  *        LONGINT;
  105.  *        BUILTIN;
  106.  *
  107.  *      FUNCTION
  108.  *        BYTEWRITE(
  109.  *          VAR fvar: FILE;
  110.  *          VAR buffer: UNIV PASCALBLOCK;
  111.  *          nBytes:  LONGINT;
  112.  *          OPT stByte: LONGINT
  113.  *        ):
  114.  *        LONGINT;
  115.  *        BUILTIN;
  116.  *
  117.  *      FUNCTION
  118.  *        EOF(OPT VAR fvar: UNIV PASCALFILE):
  119.  *        BOOLEAN;
  120.  *        BUILTIN;
  121.  *
  122.  *      FUNCTION
  123.  *        EOLN(OPT VAR fvar: TEXT):
  124.  *        BOOLEAN;
  125.  *        BUILTIN;
  126.  *
  127.  *      PROCEDURE
  128.  *        READ(VAR fvar: TEXT; OPT EXPR_LIST);
  129.  *        BUILTIN;
  130.  *
  131.  *      PROCEDURE
  132.  *        READLN(OPT VAR fvar: TEXT; OPT EXPR_LIST);
  133.  *        BUILTIN;
  134.  *
  135.  *      PROCEDURE
  136.  *        WRITE(VAR fvar: TEXT; OPT EXPR_LIST);
  137.  *        BUILTIN;
  138.  *
  139.  *      PROCEDURE
  140.  *        WRITELN(OPT VAR fvar: TEXT; OPT EXPR_LIST);
  141.  *        BUILTIN;
  142.  *
  143.  *      PROCEDURE
  144.  *        GET(VAR fvar: UNIV PASCALFILE);
  145.  *        BUILTIN;
  146.  *
  147.  *      PROCEDURE
  148.  *        PUT(VAR fvar: UNIV PASCALFILE);
  149.  *        BUILTIN;
  150.  *
  151.  *      PROCEDURE
  152.  *        SEEK(VAR fvar: UNIV PASCALFILE; recno: LONGINT);
  153.  *        BUILTIN;
  154.  *)
  155.  
  156.     FUNCTION PLFilePos(VAR fvar: UNIV PASCALFILE): LONGINT;
  157.  
  158.     PROCEDURE PLFlush(VAR fvar: TEXT);
  159.  
  160.     PROCEDURE PLCrunch(VAR fvar: UNIV PASCALFILE);
  161. {
  162.  Directory operations.
  163. }
  164.  
  165.     PROCEDURE PLPurge(fname: STRING);
  166.  
  167.     PROCEDURE PLRename(oldFname, newFname: STRING);
  168.  
  169. END.
  170.